<?php

/**
 * FuncionalidadeLogic
 * @package model
 * @subpackage logic
 * 
 */
class VEntidadeLogic extends VLogicModel {

    public function __construct() {
        parent::__construct(new VEntidadeDAO());
    }

    public function ajaxListEntidade($params) {
        /* Atributos do objeto que poderam ser ordenado */
        $atributos = array('nome', 'municipio', 'nomeTipoEntidade', 'nomeGrupoEntidade');
        $order = TDataTableHelper::mountOrderBy($atributos, $params['iSortCol_0'], $params['sSortDir_0']);
        unset($atributos);
        /* Colunas do banco a serem pesquisandas */
        $colunas = array('nom_entidade', 'nom_municipio', 'des_tipo_entidade', 'des_grupo_entidade');
        /* Montar string de pesquisa no where */
        $where = TDataTableHelper::mountSearch($colunas, $params['sSearch'], false);
        unset($colunas);
        /* Total de registros */
        $iTotal = $this->totalRegistro($where);
        /* Listar */
        $arrayListObject = $this->listar($where, $order, null, null, $params['iDisplayStart'], $params['iDisplayLength']);
        unset($where);
        /* Montar output */
        $output = TDataTableHelper::mountArrayOutPut($params['sEcho'], $iTotal);        
        unset($iTotal);
        
        if (isset($arrayListObject[0])) {
            foreach ($arrayListObject as $object) {
                $link = "<a href='index.php?Entidade/informar/id/{$object->getId()}'>{$object->getNome()}</a>";
                $output['aaData'][] = array(
                    utf8_encode($link),
                    utf8_encode($object->getMunicipio()),
                    utf8_encode($object->getNomeTipoEntidade()),
                    utf8_encode($object->getNomeGrupoEntidade())
                );
            }
        }
        unset($arrayListObject);
        
        return json_encode($output);
    }

}

?>